﻿using System.Reflection;
using RpcClient.EventBus;

namespace RpcClient.Interface
{
        public interface ILocalEventCollect
        {
                void Public(object eventData, string name = null);
                void AsyncPublic(object eventData, string name = null);
                bool RegEvent<T>(IEventHandler<T> handler);
                void RegLocalEvent(Assembly assembly);
                void RemoveEvent<T>(string name = null);

                bool RegEvent<T> (LocalEvent<T> action, string name);
                bool RegEvent<T> (LocalEvent<T> action);
        }
}